Complexity reduction of significance map coding

ABSTRACT

The complexity of coding a significant_coeff_flag in video coding such as High Efficiency Video Coding (HEVC) is able to be reduced using the same mapping to select luma and chroma contexts for the coding of 4×4 significant maps. As a result, a 15 element lookup table and multiple branches are able to be removed to select the context index, and WD text is also simplified.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority under 35 U.S.C. §119(e) of the U.S.Provisional Patent Application Ser. No. 61/589,183, filed Jan. 20, 2012and titled, “COMPLEXITY REDUCTION OF SIGNIFICANCE MAP CODING,” which ishereby incorporated by reference in its entirety for all purposes.

FIELD OF THE INVENTION

The present invention relates to the field of video coding. Morespecifically, the present invention relates the complexity reduction invideo coding.

BACKGROUND OF THE INVENTION

For encoding the significant_coeff_flag, the following has beenutilized: a 4×4 positional-based coding method which has 9 context forluma and 6 contexts for chroma; a 8×8 positional-based coding methodwhich has 11 contexts for luma and 11 contexts for chroma; and a16×16/32×32 mask-based coding method which has 7 contexts for luma and 4contexts for chroma.

As shown in FIG. 1, the 4×4 positional-based coding method has differentgroupings of a significance map for luma 102 and chroma 100. Therefore,different mappings for chroma 102 and luma 100 are used to map theposition in the significance map to the corresponding context indexincrement. As a result, the following complexities exist: two 15 elementmapping tables are used to determine the context increment, and branchesbased on the luma/chroma decisions are needed to determine the contextincrement in the coding of 4×4, 8×8 and 16×16/32×32 significance maps.

SUMMARY OF THE INVENTION

The complexity of coding a significant_coeff_flag in video coding suchas High Efficiency Video Coding (HEVC) is able to be reduced using thesame mapping to select 4×4 luma and chroma contexts. As a result, a 15element lookup table and multiple branches are able to be removed toselect the context index of significant_coeff_flag, and WD text is alsosimplified.

In one aspect, a method of reducing complexity in coding of non-zero 4×4significance map programmed in a device comprises scanning quantizedtransform coefficients, determining a position of a last non-zeroquantized coefficient, and generating a significance map from thequantized transform coefficients, wherein a significance of a quantizedtransform coefficient before the last non-zero quantized coefficient hasa same number of contexts and a same mapping for luma and chroma todetermine context index increment. The context increment mappingcomprises a single 15 element lookup table. The method further comprisescoding video content without determining a context offset based on aluma/chroma decision of at least one of 8×8, 16×16, and 32×32significance map. The device is selected from the group consisting of apersonal computer, a laptop computer, a computer workstation, a server,a mainframe computer, a handheld computer, a personal digital assistant,a cellular/mobile telephone, a smart phone, a smart appliance, a gamingconsole, a digital camera, a digital camcorder, a camera phone, aportable music player, a tablet computer, a video player, a DVDwriter/player, a high definition video writer/player, a television and ahome entertainment system.

In another aspect, an encoder comprises a scanning module programmed inhardware configured for scanning quantized transform coefficients, afirst generating module programmed in hardware configured for generatinga position of a last non-zero quantized transform coefficient, and asecond generating module programmed in hardware configured forgenerating a significance map from the quantized transform coefficients,wherein a significance of a quantized transform coefficient before thelast non-zero quantized coefficient has a same number of contexts and asame mapping for luma and chroma to determine context index increment.The context increment mapping comprises a single 15 element lookuptable. The encoder further comprises a coding module programmed inhardware for coding video content without determining a context offsetbased on a luma/chroma decision of at least one of 8×8, 16×16, and 32×32significance map. The encoder is contained within a device selected fromthe group consisting of a personal computer, a laptop computer, acomputer workstation, a server, a mainframe computer, a handheldcomputer, a personal digital assistant, a cellular/mobile telephone, asmart phone, a smart appliance, a gaming console, a digital camera, adigital camcorder, a camera phone, a portable music player, a tabletcomputer, a video player, a DVD writer/player, a high definition videowriter/player, a television and a home entertainment system.

In another aspect, an apparatus comprises a non-transitory memory forstoring an application, the application for generating a significancemap from quantized transform coefficients, wherein a significance of aquantized transform coefficient before the last non-zero quantizedcoefficient has a same number of contexts and a same mapping for lumaand chroma to determine context index increment and a processingcomponent coupled to the memory, the processing component configured forprocessing the application. The application is further for scanning thequantized transform coefficients. The context increment mappingcomprises a single 15 element lookup table. The application is furtherfor coding video content without determining a context offset based on aluma/chroma decision of at least one of 8×8, 16×16, and 32×32significance map.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a diagram of a significance map with differentgroupings for the luma and chroma contexts according to someembodiments.

FIG. 2 illustrates a diagram of a significance map with where the lumaand chroma contexts have the same number of contexts and the samecontext index increment mapping according to some embodiments.

FIG. 3 illustrates a flowchart of a method of complexity reduction ofsignificance map coding according to some embodiments.

FIG. 4 illustrates a block diagram of an exemplary computing deviceconfigured to implement the reduced complexity significance map codingmethod according to some embodiments.

FIG. 5 illustrates a general diagram of an HEVC encoder according tosome embodiments.

FIG. 6 illustrates a general diagram of an HEVC decoder according tosome embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Video compression is utilized to transmit and receive digital videoinformation more efficiently. Video compression utilizes techniques toreduce or remove redundant data in video sequences. In High EfficiencyVideo Coding (HEVC), a video frame is partitioned into coding units(CUs). CUs are able to be split into smaller blocks for prediction ortransform. Each CU is able to be further partitioned into predictionunits (PUs) and transform units (TUs).

A CU typically has a luminance component, denoted as Y, and two chromacomponents, denoted as U and V.

To code a data block, a predictive block for the block is derived. Thepredictive block, is able to be derived either through intra (I)prediction (e.g., spatial prediction) or inter (P or B) prediction(e.g., temporal prediction). Upon identification of a predictive block,the difference between the original video data block and its predictiveblock is determined. This difference is referred to as the predictionresidual data, and indicates the pixel differences between the pixelvalues in the block to the coded and the pixel values in the predictiveblock selected to represent the coded block. To achieve bettercompression, the prediction residual data is able to be transformed(e.g., using a discrete cosine transform (DCT) or another transform).

The residual data in a transform block is able to be arranged in atwo-dimensional (2D) array of pixel difference values residing in thespatial, pixel domain. A transform converts the residual pixel valuesinto a two-dimensional array of transform coefficients in a transformdomain, such as a frequency domain. For further compression, thetransform coefficients are able to be quantized prior to entropy coding.An entropy coder applies entropy coding, such as Context AdaptiveVariable Length Coding (CAVLC), Context Adaptive Binary ArithmeticCoding (CABAC), Probability Interval Partitioning Entropy Coding (PIPE),or another entropy coding, to the quantized transform coefficients.

To entropy code a block of quantized transform coefficients, a scanningprocess is usually performed so that the two-dimensional (2-D) array ofquantized transform coefficients in a block is processed, according to aparticular scan order, in an ordered, one-dimensional (1-D) array (e.g.,vector) of transform coefficients. Entropy coding is applied in the 1-Dorder of transform coefficients. The scan of the quantized transformcoefficients in a transform unit serializes the 2-D array of transformcoefficients for the entropy coder. A significance map is able to begenerated to indicate the positions of significant (e.g., non-zero)coefficients. Scanning is able to be applied to code levels ofsignificant (e.g., nonzero) coefficients, and/or to code signs of thesignificant coefficients.

In the HEVC Standard, 4×4 non-zero coefficient locations are encoded bymeans of a 4×4 significance map. The 4×4 significance map in the HEVCStandard is encoded as follows. The coordinate of the last significantcoefficient is transmitted. Then for each coefficient before the lastsignificant coefficient in scanning order, a one-bit symbolsignificant_coeff_flag is transmitted.

The complexity of coding a significant_coeff_flag in video coding suchas High Efficiency Video Coding (HEVC) is able to be reduced using thesame mapping to select luma and chroma contexts. As a result, a 15element lookup table and multiple branches are able to be removed toselect the context index, and WD text is also simplified. A reduction ofdecoder runtime of 0-3% has been observed in HM5.0. The BD-rate forAI_HE, RA_HE, LB_HE are 0.00%, −0.01%, 0.01%, respectively. The BD-ratefor AI_LC, RA_LC, LB_LC are 0.00%, 0.01%, −0.01%, respectively. TheBD-rate for RA_HE10 is 0.03%.

As shown by the grouping colors in FIG. 2, the same grouping of the 4×4luma 200 contexts are able to be reused for the grouping of the 4×4chroma contexts 202. As a result, complexity is reduced in the followingaspects: the chroma 15 elements mapping table previously used is removedBranches based on the luma/chroma decision to determine the initialcontext offset in at least one of 8×8/16×16/32×32 significance map arealso removed.

The context reductions were integrated into HM5.0. The simulations wereperformed in three Microsoft HPC clusters, the common test conditionsand reference configurations are followed:

All intra simulations are performed on AMD Opteron Processor 6136cluster @ 2.4 GHz.

All RA simulations are performed on Intel Xeon X5690 cluster @ 3.47 GHz.

All LD simulations are performed on Intel Xeon X5680 cluster @ 3.33 GHz.

Table 1 shows the BD-rate and timing of the complexity reduction for thecoding of significance map.

TABLE 1 BD-rate of complexity reductions. All Intra HE All Intra LC AllIntra HE-10 Y U V Y U V Y U V Class A (8 bit) 0.00% −0.02% −0.02% 0.00%0.01% −0.01% Class B 0.00% −0.03% 0.01% 0.00% 0.00% 0.03% Class C 0.01%−0.06% −0.02% 0.00% −0.01% 0.00% Class D 0.00% 0.01% −0.04% 0.00% 0.02%−0.02% Class E 0.00% 0.00% 0.00% 0.00% 0.02% −0.02% Overall 0.00% −0.02%−0.01% 0.00% 0.01% 0.00% 0.00% −0.02% −0.01% 0.00% 0.01% 0.00% Class F#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! Enc Time[%] 100% 100%Dec Time[%]  99% 100% Random Access HE Random Access LC Random AccessHE-10 Y U V Y U V Y U V Class A (8 bit) −0.03% −0.11% −0.21% 0.00% 0.07%−0.17% 0.03% 0.15% 0.13% Class B 0.00% −0.06% −0.01% 0.02% 0.15% 0.20%0.03% −0.05% −0.09% Class C −0.04% −0.06% 0.07% 0.02% −0.03% −0.06%Class D 0.03% −0.19% 0.08% −0.01% 0.31% −0.24% Class E Overall −0.01%−0.10% 0.01% 0.01% 0.14% −0.03% 0.03% 0.04% 0.00% −0.01% −0.13% 0.01%0.01% 0.11% −0.07% 0.04% 0.07% 0.05% Class F #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! Enc Time[%] 100% 100% 100% Dec Time[%]  99%  99%100% Low delay B HE Low delay B LC Low delay B HE-10 Y U V Y U V Y U VClass A Class B 0.01% 0.02% 0.10% −0.04% −0.12% 0.17% Class C 0.01%−0.01% 0.09% 0.03% 0.08% 0.06% Class D −0.02% −0.05% 0.10% −0.02% 0.63%−0.09% Class E 0.07% −0.37% −0.43% 0.03% 0.09% −0.10% Overall 0.01%−0.08% 0.00% −0.01% 0.16% 0.03% 0.01% −0.05% −0.03% −0.01% 0.19% 0.05%Class F #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! Enc Time[%] 100%100% Dec Time[%]  97%  99%As shown in Table 3, the method described herein reduced the decoderexecution time from 0% to 3% and resulted in average luminance BD-rateof −0.01% to 0.03%.

TABLE 2 Average decoder time of significance map coding complexityreduction. HE LC HE-10 I 99% 100%  RA 99% 99% 100% LB 97% 99%

TABLE 3 Average BDR of significance map coding complexity reduction. HELC HE-10 I 0.00% 0.00% RA −0.01% 0.01% 0.03% LB 0.01% −0.01%The following is the derivation process of ctxIdxInc for the syntaxelement significant_coeff_flag modified with respect to HM5.0:

Inputs to this process are the color component index cIdx, the currentcoefficient scan position (xC, yC), the transform block width log2TrafoWidth and the transform block height log 2TrafoHeight.

Output of this process is ctxIdxInc.

The variable sigCtx depends on the current position (xC, yC), the colorcomponent index cIdx, the transform block size and previously decodedbins of the syntax element significant_coeff_flag. For the derivation ofsigCtx, the following applies.

-   -   If log 2TrafoWidth is equal to log 2TrafoHeight and log        2TrafoWidth is equal to 2, sigCtx is derived using ctxIdxMap4×4[        ] specified in Table 4 as follows.        -   sigCtx=ctxIdxMap4×4[(yC<<2)+xC]    -   Otherwise if log 2TrafoWidth is equal to log 2TrafoHeight and        log 2TrafoWidth is equal to 3, sigCtx is derived using        ctxIdxMap8×8[ ] specified in Table 5 as follows.        -   sigCtx=((xC+yC)==0) ? 10: ctxIdxMap8×8[((yC>>1)<<2)+(xC>>1)]        -   sigCtx+=9    -   Otherwise if xC+yC is equal to 0, sigCtx is derived as follows.        -   sigCtx=20    -   Otherwise (xC+yC is greater than 0), sigCtx is derived using        previously decoded bins of the syntax element        significant_coeff_flag as follows.        -   The variable sigCtx is initialized as follows.            -   sigCtx=0        -   When xC is less than (1<<log 2TrafoWidth)−1, the following            applies.            -   sigCtx=sigCtx+significant_coeff_flag[xC+1][yC]        -   When xC is less than (1<<log 2TrafoWidth)−1 and yC is less            than (1<<log 2TrafoHeight)−1, the following applies.            -   sigCtx=sigCtx+significant_coeff_flag[xC+1][yC+1]        -   When xC is less than (1<<log 2Width)−2, the following            applies.            -   sigCtx=sigCtx+significant_coeff_flag[xC+2][yC]        -   When all of the following conditions are true,            -   yC is less than (1<<log 2TrafoHeight)−1,            -   xC % 4 is not equal to 0 or yC % 4 is not equal to 0,            -   xC % 4 is not equal to 3 or yC % 4 is not equal to 2,                the following applies.                -   sigCtx=sigCtx+significant_coeff_flag[xC][yC+1]            -   When yC is less than (1<<log 2TrafoHeight)−2 and sigCtx                is less than 4, the following applies.                -   sigCtx=sigCtx+significant_coeff_flag[xC][yC+2]            -   The variable sigCtx is modified as follows.                -   If cIdx is equal to 0 and xC+yC are greater than                    (1<<(max(log 2TrafoWidth, log 2TrafoHeight)−2))−1,                    the following applies.                -    sigCtx=((sigCtx+1)>>1)+24                -    Otherwise, the following applies.                -    sigCtx=((sigCtx+1)>>1)+21                    The context index increment ctxIdxInc is derived                    using the color component index cIdx and sigCtx as                    follows.    -   If cIdx is equal to 0, ctxIdxInc is derived as follows.        -   ctxIdxInc=sigCtx    -   Otherwise (cIdx is greater than 0), ctxIdxInc is derived as        follows.        -   ctxIdxInc=27+sigCtx

TABLE 4 Specification of ctxIdxMap4 × 4[i] i 0 1 2 3 4 5 6 7 8 9 10 1112 13 14 ctxIdxMap4 × 4[i] 0 1 4 5 2 3 4 5 6 6 8 8 7 7 8

TABLE 5 Specification of ctxIdxMap8 × 8[i] i 0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 ctxIdxMap8 × 8[i] 0 1 2 3 4 5 6 3 8 6 6 7 9 9 7 7The context derivation assumes maximum transform sizes less than orequal to 32×32 for luma and 16×16 for chroma and minimum transform sizesgreater than or equal to 4×4.

TABLE 6 Values of variable initValue for significant_coeff_flag ctxIdxsignificant coeff flag ctxIdx Initialisation 0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 variable initValue 74 73 88 72 72 55 71 54 71 88 103 7153 87 134 86 84 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33initValue 70 68 89 90 84 88 74 130 118 88 120 87 87 87 149 52 70 34 3536 37 38 39 40 41 42 43 44 45 46 47 48 49 50 initValue 52 118 133 116114 129 132 162 115 51 115 66 120 74 115 87 89 51 52 53 54 55 56 57 5859 60 61 62 63 64 65 66 67 initValue 152 119 103 118 87 70 70 53 118 134118 101 68 85 101 116 100 68 69 70 71 72 73 74 75 76 77 78 79 80 81 8283 84 initValue 68 67 136 168 147 150 120 115 118 119 136 102 102 102 7067 53 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 initValue 67117 102 117 1158 114 84 115 99 100 83 114 152 168 131 150 120 102 103104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 initValue152 119 103 118 87 70 70 53 71 103 118 101 68 85 101 116 116 119 120 121122 123 124 125 126 127 128 129 130 131 132 133 134 135 initValue 68 67152 168 147 150 120 115 118 119 136 102 102 102 86 67 84 136 137 138 139140 141 142 143 144 145 146 147 148 149 150 151 152 initValue 67 117 102117 115 99 100 115 99 100 83 114 152 152 131 150 120

FIG. 3 illustrates a flowchart of a method of complexity reduction of4×4 significance map coding according to some embodiments. In the step300, quantized transform coefficients with at least one non-zeroquantized transform coefficient are scanned. In step 302, the positionof the last non-zero quantized coefficients in a scan order isdetermined. In step 304, the position of the last coefficients isencoded. In step 306, the significance of the quantized transformcoefficients before the last non-zero coefficient is encoded with thesame number of contexts and context increment mapping for luma andchroma coefficients. In some embodiments, more or fewer steps areimplemented. In some embodiments, the order of the steps is modified.

FIG. 4 illustrates a block diagram of an exemplary computing deviceconfigured to implement the reduced complexity significance map codingmethod according to some embodiments. The computing device 400 is ableto be used to acquire, store, compute, process, communicate and/ordisplay information such as images and videos. In general, a hardwarestructure suitable for implementing the computing device 400 includes anetwork interface 402, a memory 404, a processor 406, I/O device(s) 408,a bus 410 and a storage device 412. The choice of processor is notcritical as long as a suitable processor with sufficient speed ischosen. The memory 404 is able to be any conventional computer memoryknown in the art. The storage device 412 is able to include a harddrive, CDROM, CDRW, DVD, DVDRW, Blu-Ray®, flash memory card or any otherstorage device. The computing device 400 is able to include one or morenetwork interfaces 402. An example of a network interface includes anetwork card connected to an Ethernet or other type of LAN. The I/Odevice(s) 408 are able to include one or more of the following:keyboard, mouse, monitor, screen, printer, modem, touchscreen, buttoninterface and other devices. Reduced complexity significance map codingapplication(s) 430 used to perform the reduced complexity significancemap coding method are likely to be stored in the storage device 412 andmemory 404 and processed as applications are typically processed. Moreor less components shown in FIG. 4 are able to be included in thecomputing device 400. In some embodiments, reduced complexitysignificance map coding hardware 420 is included. Although the computingdevice 400 in FIG. 4 includes applications 430 and hardware 420 for thereduced complexity significance map coding method, the reducedcomplexity significance map coding method is able to be implemented on acomputing device in hardware, firmware, software or any combinationthereof. For example, in some embodiments, the reduced complexitysignificance map coding applications 430 are programmed in a memory andexecuted using a processor. In another example, in some embodiments, thereduced complexity significance map coding hardware 420 is programmedhardware logic including gates specifically designed to implement thereduced complexity significance map coding method.

In some embodiments, the reduced complexity significance map codingapplication(s) 430 include several applications and/or modules. In someembodiments, modules include one or more sub-modules as well. In someembodiments, fewer or additional modules are able to be included.

Examples of suitable computing devices include a personal computer, alaptop computer, a computer workstation, a server, a mainframe computer,a handheld computer, a personal digital assistant, a cellular/mobiletelephone, a smart appliance, a gaming console, a digital camera, adigital camcorder, a camera phone, a smart phone, a portable musicplayer, a tablet computer, a mobile device, a video player, a video discwriter/player (e.g., DVD writer/player, Blu-Ray® writer/player), atelevision, a home entertainment system or any other suitable computingdevice.

FIG. 5 illustrates a general diagram of an HEVC encoder according tosome embodiments. The encoder 500 includes a general coder controlcomponent, a transform scaling and quantization component, a scaling andinverse transform component, an intra-picture estimation component, anintra-picture prediction component, a deblocking and SAO filterscomponent, a motion compensation component, a motion estimationcomponent, and a header formatting and CABAC component. An input videosignal is received by the encoder 500 and is split into Coding TreeUnits (CTUs). The HEVC encoder components process the video data andgenerate a coded bitstream. The encoder 500 implements complexityreduction of significant map coding.

FIG. 6 illustrates a general diagram of an HEVC decoder according tosome embodiments. The decoder 600 includes an entropy decodingcomponent, an inverse quantization component, an inverse transformcomponent, a current frame component, an intra prediction component, aprevious frames component, a motion compensation component, a deblockingfilter, and an SAO component. An input bitstream (e.g., a coded video)is received by the decoder 600, and a decoded bitstream is generated fordisplay.

To utilize the reduced complexity significance map coding method, adevice such as a digital camera is able to be used to acquire a video.The reduced complexity significance map coding method is automaticallyused for performing video processing. The reduced complexitysignificance map coding method is able to be implemented automaticallywithout user involvement.

In operation, the reduced complexity map coding method reduces thecomplexity of coding a significant_coeff_flag in video coding such asHigh Efficiency Video Coding (HEVC) by using the same mapping to selectluma and chroma contexts. As a result, a 15 element lookup table andmultiple branches are able to be removed to select the context index,and WD text is also simplified.

Some Embodiments of Complexity Reduction of Significance Map Coding

-   1. A method of reducing complexity in coding of non-zero 4×4    significance map programmed in a device comprising:    -   a. scanning quantized transform coefficients;    -   b. determining a position of a last non-zero quantized        coefficient; and    -   c. generating a significance map from the quantized transform        coefficients, wherein the significance of the quantized        transform coefficients before the last non-zero quantized        coefficient has a same number of contexts and a same mapping for        luma and chroma to determine context index increment.-   2. The method of clause 1 wherein the context increment mapping    comprises a single 15 element lookup table.-   3. The method of clause 1 further comprising coding video content    without determining a context offset based on a luma/chroma decision    of at least one of 8×8, 16×16, and 32×32 significance map.-   4. The method of clause 1 wherein the device is selected from the    group consisting of a personal computer, a laptop computer, a    computer workstation, a server, a mainframe computer, a handheld    computer, a personal digital assistant, a cellular/mobile telephone,    a smart phone, a smart appliance, a gaming console, a digital    camera, a digital camcorder, a camera phone, a portable music    player, a tablet computer, a video player, a DVD writer/player, a    high definition video writer/player, a television and a home    entertainment system.-   5. An encoder comprising:    -   a. a scanning module programmed in hardware configured for        scanning quantized transform coefficients;    -   b. a first generating module programmed in hardware configured        for generating a position of a last non-zero quantized transform        coefficient; and    -   c. a second generating module programmed in hardware configured        for generating a significance map from the quantized transform        coefficients, wherein the significance of the quantized        transform coefficient before the last non-zero quantized        coefficient has a same number of contexts and a same mapping for        luma and chroma to determine context index increment.-   6. The encoder of clause 5 wherein the context increment mapping    comprises a single 15 element lookup table.-   7. The encoder of clause 5 further comprising a coding module    programmed in hardware for coding video content without determining    a context offset based on a luma/chroma decision of at least one of    8×8, 16×16, and 32×32 significance map.-   8. The encoder of clause 5 wherein the encoder is contained within a    device selected from the group consisting of a personal computer, a    laptop computer, a computer workstation, a server, a mainframe    computer, a handheld computer, a personal digital assistant, a    cellular/mobile telephone, a smart phone, a smart appliance, a    gaming console, a digital camera, a digital camcorder, a camera    phone, a portable music player, a tablet computer, a video player, a    DVD writer/player, a high definition video writer/player, a    television and a home entertainment system.-   9. An apparatus comprising:    -   a. a non-transitory memory for storing an application, the        application for generating a significance map from quantized        transform coefficients, wherein a significance of a quantized        transform coefficient before a last non-zero quantized        coefficient has a same number of contexts and a same mapping for        luma and chroma to determine context index increment; and    -   b. a processing component coupled to the memory, the processing        component configured for processing the application.-   10. The apparatus of clause 9 wherein the application is further for    scanning the quantized transform coefficients.-   11. The apparatus of clause 9 wherein the context increment mapping    comprises a single 15 element lookup table.-   12. The apparatus of clause 9 wherein the application is further for    coding video content without determining a context offset based on a    luma/chroma decision of at least one of 8×8, 16×16, and 32×32    significance map.

The present invention has been described in terms of specificembodiments incorporating details to facilitate the understanding ofprinciples of construction and operation of the invention. Suchreference herein to specific embodiments and details thereof is notintended to limit the scope of the claims appended hereto. It will bereadily apparent to one skilled in the art that other variousmodifications may be made in the embodiment chosen for illustrationwithout departing from the spirit and scope of the invention as definedby the claims.

What is claimed is:
 1. A method of reducing complexity in coding ofnon-zero 4×4 significance map programmed in a device comprising: a.scanning quantized transform coefficients; b. determining a position ofa last non-zero quantized coefficient; and c. generating a significancemap from the quantized transform coefficients, wherein a significance ofthe quantized transform coefficient before the last non-zero quantizedcoefficient has a same number of contexts and a same mapping for lumaand chroma to determine context index increment.
 2. The method of claim1 wherein the context increment mapping comprises a single 15 elementlookup table.
 3. The method of claim 1 further comprising coding videocontent without determining a context offset based on a luma/chromadecision of at least one of 8×8, 16×16, and 32×32 significance map. 4.The method of claim 1 wherein the device is selected from the groupconsisting of a personal computer, a laptop computer, a computerworkstation, a server, a mainframe computer, a handheld computer, apersonal digital assistant, a cellular/mobile telephone, a smart phone,a smart appliance, a gaming console, a digital camera, a digitalcamcorder, a camera phone, a portable music player, a tablet computer, avideo player, a DVD writer/player, a high definition videowriter/player, a television and a home entertainment system.
 5. Anencoder comprising: a. a scanning module programmed in hardwareconfigured for scanning quantized transform coefficients; b. a firstgenerating module programmed in hardware configured for generating aposition of a last non-zero quantized transform coefficient; and c. asecond generating module programmed in hardware configured forgenerating a significance map from the quantized transform coefficients,wherein a significance of the quantized transform coefficient before thelast non-zero quantized coefficient has a same number of contexts and asame mapping for luma and chroma to determine context index increment.6. The encoder of claim 5 wherein the context increment mappingcomprises a single 15 element lookup table.
 7. The encoder of claim 5further comprising a coding module programmed in hardware for codingvideo content without determining a context offset based on aluma/chroma decision of at least one of 8×8, 16×16, and 32×32significance map.
 8. The encoder of claim 5 wherein the encoder iscontained within a device selected from the group consisting of apersonal computer, a laptop computer, a computer workstation, a server,a mainframe computer, a handheld computer, a personal digital assistant,a cellular/mobile telephone, a smart phone, a smart appliance, a gamingconsole, a digital camera, a digital camcorder, a camera phone, aportable music player, a tablet computer, a video player, a DVDwriter/player, a high definition video writer/player, a television and ahome entertainment system.
 9. An apparatus comprising: a. anon-transitory memory for storing an application, the application forgenerating a significance map from quantized transform coefficients,wherein the significance of the quantized transform coefficient before alast non-zero quantized coefficient has a same number of contexts and asame mapping for luma and chroma to determine context index increment;and b. a processing component coupled to the memory, the processingcomponent configured for processing the application.
 10. The apparatusof claim 9 wherein the application is further for scanning the quantizedtransform coefficients.
 11. The apparatus of claim 9 wherein the contextincrement mapping comprises a single 15 element lookup table.
 12. Theapparatus of claim 9 wherein the application is further for coding videocontent without determining a context offset based on a luma/chromadecision of at least one of 8×8, 16×16, and 32×32 significance map.